From fc7758e894bd656a6105ee65f971c22a17a0f54e Mon Sep 17 00:00:00 2001 From: "iap10@labyrinth.cl.cam.ac.uk" Date: Sat, 15 Jan 2005 11:18:02 +0000 Subject: [PATCH] bitkeeper revision 1.1159.170.96 (41e8fbeayXDKhR25_xBQP3hTDrVJbQ) Symptom: When using a udev-based dom0, if you try to create a domU with a virtual sda device and you do not have a local scsi device xm create fails. Fix: When using udev, only the device nodes needed are made. The follow patch changes Xend to return a device number based on: http://www.lanana.org/docs/device-list/devices.txt For sd and hd devices if stat() fails. It was tested against both 2.0.2 and 2.0.3. Signed-off-by: Anthony Liguori --- tools/python/xen/xend/server/blkif.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/python/xen/xend/server/blkif.py b/tools/python/xen/xend/server/blkif.py index c17c0c568e..b980ebcb72 100755 --- a/tools/python/xen/xend/server/blkif.py +++ b/tools/python/xen/xend/server/blkif.py @@ -63,6 +63,12 @@ def blkdev_name_to_number(name): log.debug("exception looking up device number for %s: %s", name, ex) pass + if re.match( '/dev/sd[a-p]([0-9]|1[0-5])', n): + return 8 * 256 + 16 * (ord(n[7:8]) - ord('a')) + int(n[8:]) + + if re.match( '/dev/hd[a-p]([0-9]|[1-5][0-9]|6[0-3])', n): + return 3 * 256 + 16 * (ord(n[7:8]) - ord('a')) + int(n[8:]) + # see if this is a hex device number if re.match( '^(0x)?[0-9a-fA-F]+$', name ): return string.atoi(name,16) -- 2.30.2